Signal Samples Library

With Plux acquisition systems, a vast set of physiological signals can be acquired.

All the signals that were used in biosignalsnotebooks notebooks have been collected with bitalino or biosignalsplux , being this page a resource where relevant characteristics of each acquisition are presented, together with a temporal segment of the signal.

In [1]:
import biosignalsnotebooks as bsnb
import numpy

# Base packages used in OpenSignals Tools Notebooks for plotting data
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook
from bokeh.layouts import gridplot
from bokeh.models.tools import *
output_notebook(hide_banner=True)
bvp_sample
Signal Type BVP
Acquisition Time 00:27.3
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [2]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "bvp_sample.txt", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_20_sec_1000_Hz
Signal Type ECG
Acquisition Time 00:20.4
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest using Lead II
In [3]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "ecg_20_sec_1000_Hz.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_20_sec_100_Hz
Signal Type ECG
Acquisition Time 00:19.7
Sample Rate 100 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest using Lead II
In [4]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "ecg_20_sec_100_Hz.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_20_sec_10_Hz
Signal Type ECG
Acquisition Time 00:20.0
Sample Rate 10 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest using Lead II
In [5]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "ecg_20_sec_10_Hz.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_4000_Hz
Signal Type ECG
Acquisition Time 00:12.4
Sample Rate 4000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [6]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "ecg_4000_Hz.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_5_min
Signal Type ECG
Acquisition Time 05:00.0
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [7]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "ecg_5_min.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
ecg_sample
Signal Type ECG
Acquisition Time 00:11.9
Sample Rate 200 Hz
Number of Channels 1
Resolutions 16 bits
Observations At Rest
In [8]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "ecg_sample.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
emg_bursts
Signal Type EMG
Acquisition Time 00:28.5
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations Cyclic contractions of Biceps Brachii
In [9]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "emg_bursts.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
emg_fatigue
Signal Type EMG
Acquisition Time 02:06.9
Sample Rate 1000 Hz
Number of Channels 1
Resolutions 16 bits
Observations Cyclic flexion and extension of Biceps Brachii for fatigue induction
In [10]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "emg_fatigue.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_BVP_2017_1_17
Signal Type BVP
Acquisition Time 00:00:27.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:3B:46:61] 1
Resolutions [00:07:80:3B:46:61] 16 bits
Observations [00:07:80:3B:46:61]
In [11]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_BVP_2017_1_17.txt", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_BVP_2018_7_4
Signal Type BVP
Acquisition Time 00:00:40.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:79:6F:DB] 1
Resolutions [00:07:80:79:6F:DB] 16 bits
Observations [00:07:80:79:6F:DB]
In [12]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_BVP_2018_7_4.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_cACC_2017_1_20
Signal Type cACC
Acquisition Time 00:00:30.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:3B:46:61] 3
Resolutions [00:07:80:3B:46:61] 16 bits
Observations [00:07:80:3B:46:61]
In [13]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_cACC_2017_1_20.txt", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_ECG_2018_7_5
Signal Type ECG
Acquisition Time 00:06:57.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:79:6F:DB] 1
Resolutions [00:07:80:79:6F:DB] 16 bits
Observations [00:07:80:79:6F:DB]
In [14]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_ECG_2018_7_5.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_EEG_2018_7_4
Signal Type EEG
Acquisition Time 00:00:28.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:79:6F:DB] 1
Resolutions [00:07:80:79:6F:DB] 16 bits
Observations [00:07:80:79:6F:DB]
In [15]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_EEG_2018_7_4.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_fSpO2_2018_9_3
Signal Type fSpO2
Acquisition Time 00:01:31.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:79:6F:DB] 2
Resolutions [00:07:80:79:6F:DB] 16 bits
Observations [00:07:80:79:6F:DB]
In [16]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_fSpO2_2018_9_3.bat", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_GONIO_2018_7_6
Signal Type GONIO
Acquisition Time 00:00:18.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:79:6F:DB] 2
Resolutions [00:07:80:79:6F:DB] 16 bits
Observations [00:07:80:79:6F:DB]
In [17]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_GONIO_2018_7_6.a", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
signal_sample_single_hub_hSpO2_2018_7_6
Signal Type hSpO2
Acquisition Time 00:01:01.0
Sample Rate 1000 Hz
Number of Hubs 1
Number of Channels [00:07:80:79:6F:DB] 2
Resolutions [00:07:80:79:6F:DB] 16 bits
Observations [00:07:80:79:6F:DB]
In [18]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "signal_sample_single_hub_hSpO2_2018_7_6.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)
temp_res_8_16
Signal Type Temperature
Acquisition Time 03:53.1
Sample Rate 1000 Hz
Number of Channels 2
Resolutions 8 and 16 bits
Observations Temperature increase with a gradual decrease in the middle of acquisition
In [19]:
signal_dict, file_header = bsnb.load("../../signal_samples/" + "temp_res_8_16.h5", get_header=True, out_dict=True)
mac_addresses = list(signal_dict.keys())

mac_0 = mac_addresses[0]
chn_0 = list(signal_dict[mac_0].keys())[0]
sample_rate = file_header[mac_0]["sampling rate"]
time = numpy.linspace(0, len(signal_dict[mac_0][chn_0]) / sample_rate,
                      len(signal_dict[mac_0][chn_0]))
grid_layout = []
for mac in mac_addresses:
    channels = list(signal_dict[mac].keys())
    for chn in channels:
        fig = figure(x_axis_label='Time (s)', y_axis_label='Raw Data',
                     title=mac + "@" + chn, **bsnb.opensignals_kwargs("figure"))
        fig.line(time, signal_dict[mac][chn],
                 **bsnb.opensignals_kwargs("line"))
        grid_layout.append([fig])
bsnb.opensignals_style([item for sublist in grid_layout for item in sublist])
grid_plot = gridplot(grid_layout, **bsnb.opensignals_kwargs("gridplot"))
show(grid_plot)

**Auxiliary Code Segment (should not be replicated by the user)**

In [20]:
from biosignalsnotebooks.__notebook_support__ import css_style_apply
css_style_apply()
.................... CSS Style Applied to Jupyter Notebook .........................
Out[20]: